package com.vf.admin.miaodong.entity;

import cn.hutool.core.util.StrUtil;
import com.vf.admin.common.db.annotation.Column;
import com.vf.admin.common.db.annotation.NoColumn;
import com.vf.admin.common.db.annotation.Table;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * 用户表
 */
@Table(name = "app_user")
@Data
public class AppUser implements Serializable {

    private static final long serialVersionUID = 1L;
    @Column(length = 11, name = "id", index = true)
    private Integer id;
    private String loginname;//登录名称 即为：手机号
    private Integer usercode;//用户账号  8位（系统生成）
    private Integer goodusercode;//用户账号靓号
    private Integer tengxuncode;//腾讯生成编码ID 9位
    private Integer iswanshan;//是否完善过基础信息   1已完善   2未完善

    private String password;//密码
    private String paypassword;//支付密码

    private String code;//邀请码
    private String nick;//昵称
    private String pic;//头像
    private Date createtime;//创建时间
    private Date birthday;//生日
    private Integer shengid;//省id
    private Integer shiid;          //市id
    private Integer areaId;          //区id
    private String address;//苹果ID
    private String addressdetail;//详细地址
    private String mysign;//我的签名
    private Integer sex;//性别 1、男  2、女  3、未选择  默认3、未选择
    private Integer status;//身份认证状态 1已实名  2未实名
    private String idnum;//身份证号
    private String lon;//经度
    private String lat;//维度
    private Integer states;//是否禁用  1、正常   2、禁用  默认为1、正常
    private Integer onlinestatus;//在线状态  0直播中  1在线  2不在线  默认2不在线
    private Integer nobleid;//贵族等级id   0表示不是贵族   默认0
    private Integer isguizu;//是否是贵族 1是贵族  2不是贵族 默认2
    private Integer friendmessage;
    private Date guizutime;//贵族到期时间
    private Integer experience;//经验+
    private Integer shengaoid;//身高id
    private String shengao;//身高
    private Integer tizhongid;//体重id
    private String tizhong;//体重
    private Integer nianshouruid;//年收入id
    private String nianshouru;//年收入

    private Integer zhiyecode;//职业编号
    private String zhiyename;//职业名字
    private String biaoqianid;//标签id
    private String biaoqianname;//标签名字
    private Integer userlevel;//用户等级
    private Integer messagealert;//消息提示  1开启  2关闭
    private Integer nearfunction;//附近功能  1开启  2关闭 默认为 默认为、1开启
    private Integer giftfunction;//礼物特效功能  1开启  2关闭 默认为 默认为、1开启
    private Integer modulestatus;//0 没有关联模块 1 已经关联模块
    private String weixinopenid;//微信的openid
    private String qqopenid;//谷歌的openid
    private String faccebookid;//faccebookID
    private String invitationcode;//上级用户的邀请码
    private BigDecimal diamonds;//用户钻石
    private long charmvalue;//用户魅力值
    private BigDecimal jinbi;//用户金币
    private Integer teenagers;//青少年状态 1、1开启 2、关闭  默认为 2、关闭

    private Integer yinpinzb;//音频主播 1、是  2、否 默认 2、否
    private Integer shipinzb;//视频主播 1、是  2、否 默认 2、否·

    private String xingming;//姓名
    private String alipay;//支付宝
    private String shoukuanren;//收款人（支付宝绑定的人）
    private String banknum;//银行卡号

    private Integer dongtaiall;//动态总数
    private Integer dongtai;//新增动态数
    private Integer guanzhu;//关注总数
    private Integer fansnumall;//粉丝总数
    private Integer fansnum;//新增粉丝数
    private Integer roomcollectnum;//房间收藏数
    private String pidwuxian;//无限极上级id(,)分割

    private String xingxiang;//形象照片

    private String sheng;//省
    private String shi;//市
    private String street;//街道
    private String houseNumber;//门牌号码
    private Integer shipinstate;//视频认证状态  1，已认证，2，未认证，默认2
    private Integer lastroomtxcode;//用户上一次所在的房间腾讯code

    private String realname;
    private Date endonlinetime;//最后在线时间

    private Integer familyPunchIn;//家族连续签到天数

    private String mobileId;//手机号一键登录

    private String appleId;//苹果登录

    @NoColumn
    private Integer age;
    @NoColumn
    private String medal;


    /**
     * 文字消息发送数量
     */
    private Integer messagenum;
    /**
     * 文字消息上次发送时间
     */
    private Date messagetime;
    /**
     * 累积充值金额
     */
    private double chongzhimoney;
    /**
     * 音视频通话免费时长
     */
    private Integer freetime;

    /**
     * 账号的国家区号
     */
    private String area;

    private Integer lianxuqiandao;//连续签到记录数

    private String email;//用户的邮箱

    private String messagePrice;//消息价格

    private Integer voiceStatus;//语音接听 0否1是

    private String voicePrice;//语音价格

    private Integer videoStatus;//视频接听 0否1是

    private String videoPrice;//视频价格

    private String voiceSignature;//语音签名

    private String voiceSignatureSeconds;//语音签名时长

    private Integer voiceSignatureParse;//语音签名点赞数

    private Integer charmLevel; //魅力值等级

    private Integer youngMode; //是否开启青少年模式

    private String youngModePass;//青少年模式密码

    private Integer eduStatus;//1专科 2本科 3双学士 4硕士 5博士

    private String eduStatusRu;//1专科 2本科 3双学士 4硕士 5博士

    private Date vipEndDate;
    private Integer vip;

    @NoColumn
    private String guizuname;//贵族名
    @NoColumn
    private String shareJinDou;
    @NoColumn
    private String countryName;
    @NoColumn
    private Integer fansCount;
    @NoColumn
    private Double heatScore;
    @NoColumn
    private String idnumjust;
    @NoColumn
    private Integer shipinstate1;
    @NoColumn
    private Integer realAuthStatus = 0;
    @NoColumn
    private Integer mobileAuthStatus = 0;
    @NoColumn
    private Integer realNameAuthStatus = 0;
    @NoColumn
    private Integer eduAuthStatus = 0;
    @NoColumn
    private Integer carAuthStatus = 0;
    @NoColumn
    private Integer houseAuthStatus = 0;
    @NoColumn
    private Integer jobAuthStatus = 0;
    @NoColumn
    private Integer voiceAuthStatus = 0;
    @NoColumn
    private BigDecimal dayPrestige;

    @NoColumn
    private String thirdToken;
    @NoColumn
    private String thirdType;
    @NoColumn
    private String mobileCode;
    @NoColumn
    private Map<String, Object> vipMap;
    @NoColumn
    private Integer isVip = 0;

    private String mobileSpec;

    //白名单
    private Integer whiteStatus;

    //1真实 0数据号 2数据号
    private Integer isReal;

    //门票：1买了 2没买 默认没买
    private Integer windowTicket;

    //微信号
    private String weChatNum;

    //qq号
    private String qqNum;

    //手机号
    private String phoneNum;

    //包名
    private String packageName;


    public String getVoicePrice() {
        if (StrUtil.isEmpty(this.voicePrice)) {
            return "30.00";
        }
        return this.voicePrice;
    }

    public String getVideoPrice() {
        if (StrUtil.isEmpty(this.videoPrice)) {
            return "100.00";
        }
        return this.videoPrice;
    }


    public String getMessagePrice() {
        if (StrUtil.isEmpty(this.messagePrice)) {
            return "6.00";
        }
        return this.messagePrice;
    }


}
